// 查询条件
const criteridiQuery = [
  {
    // 标签
    label: '账号',
    // 字段
    field: 'account',
    // 组件类型
    type: 'input',
    // 占位符
    place: '根据账号进行筛选'
  }, {
    // 标签
    label: '手机',
    // 字段
    field: 'phone',
    // 组件类型
    type: 'input',
    // 占位符
    place: '根据手机进行筛选'
  }, {
    // 标签
    label: '邮箱',
    // 字段
    field: 'email',
    // 组件类型
    type: 'input',
    // 占位符
    place: '根据邮箱进行筛选'
  }, {
    // 标签
    label: '创建日期',
    // 字段
    field: 'create_time',
    // 组件类型
    type: 'DatePicker',
    // 占位符
    place: '根据创建日期进行筛选'
  }, {
    // 标签
    label: '超级管理员',
    // 字段
    field: 'is_super',
    // 组件类型
    type: 'select',
    //下拉数据
    options: [{ label: '是', value: 1 }, { label: '否', value: 0 }],
    // 占位符
    place: '根据是否是超级管理员进行筛选'
  }, {
    // 标签
    label: '禁用状态',
    // 字段
    field: 'is_disable',
    // 组件类型
    type: 'select',
    //下拉数据
    options: [{ label: '禁用', value: 1 }, { label: '启用', value: 0 }],
    // 占位符
    place: '根据禁用状态进行筛选'
  }, {
    // 标签
    label: '最后登录地址',
    // 字段
    field: 'login_last_ip_region',
    // 组件类型
    type: 'input',
    // 占位符
    place: '根据最后登录地址进行筛选'
  },
  {
    // 标签
    label: '最后登录时间',
    // 字段
    field: 'login_last_time',
    // 组件类型
    type: 'DatePicker',
    // 占位符
    place: '根据最后登录时间进行筛选'
  },
];
// 列表列配置
const columns = [
  {
    label: '账号 ',
    field: 'account',
  }, {
    label: '昵称',
    field: 'nickname',
  }, {
    label: '手机',
    field: 'phone',
  }, {
    label: '邮箱',
    field: 'email',
    width: 180
  }, {
    label: '禁用',
    field: 'is_disable',
  }, {
    label: '超管',
    field: 'is_super',
  }, {
    label: '简介',
    field: 'introduce',
    hide: true,
  }, {
    label: '最后登录地址',
    field: 'login_last_ip_region',
    hide: true,
  }, {
    label: '最后登录IP',
    field: 'login_last_ip',
    hide: true,
  }, {
    label: '登录次数',
    field: 'login_number',
    hide: true,
  }, {
    label: '最后登录时间',
    field: 'login_last_time',
    width: 180,
  }, {
    label: '排序',
    field: 'sort',
    width: 80,
  }, {
    label: '创建时间',
    field: 'create_time',
    width: 180,
  }, {
    label: '修改时间',
    field: 'update_time',
    width: 180,
  },
]
// api地址
const actions = {
  list: {
    api: "system/user/index", //可为空/可无声明.
    permission: ['system.User/index'] //权限效验
  },
  dele: {
    api: "system/user/del",
    permission: ['system.User/del'],
    title: '删除账号'
  },
  edit: {
    api: "system/user/edit",
    permission: ['system.User/edit'],
    title: '编辑账号'
  },
  add: {
    api: "system/user/add",
    permission: ['system.User/add'],
    title: '创建账号'
  }
};
//Dialog配置
const dialogConfig = {
  //dialog所有属性均可配置
  width: '35vw',
  'mask-closable': false,
  draggable: true,
  titleIcon: 'icon-file',
  formConfig: {
    itemLine: 2,
    formItem: [//表单项
      { field: 'avatar_id', type: 'input', rule: [], label: '头像' },
      { field: 'account', type: 'input', rule: [{ required: true, message: '必填项,不能为空.' }], label: '用户名称' },
      { field: 'password', type: 'input', rule: [{ required: true, message: '必填项,不能为空.' }], label: '用户密码' },
      { field: 'nickname', type: 'input', rule: [{ required: true, message: '必填项,不能为空.' }], label: '昵称' },
      { field: 'phone', type: 'input', rule: [], label: '手机号码' },
      { field: 'email', type: 'input', rule: [], label: '电子邮件' },
      {
        field: 'role_ids',
        type: 'select',
        rule: [],
        label: '绑定角色',
        options: [],
        api: '/admin/system/role/index',//api权限必须有
        'allow-clear': true,
        multiple: true,
        'max-tag-count': 2,
        'field-names': {
          label: 'name', value: 'id'
        }
      },
      { field: 'introduce', type: 'input', rule: [], label: '简介' },
      { field: 'is_super', type: 'switch', rule: [], label: '超级管理员', defaultVal: 0 },
      { field: 'sort', type: 'input', rule: [], label: '排序', defaultVal: 100 },
      { field: 'is_disable', type: 'switch', rule: [], label: '禁用', defaultVal: 0 },
    ],
  },
}

export function useColumns() {
  return columns;
}
export function useConditions() {
  return criteridiQuery;
}
export function useActions() {
  return actions;
}
export function useDialogConfig() {
  return dialogConfig;
}